Never miss one of my articles: Readers of my newsletter get my articles before anyone else. Subscribe here!
Today I had a strange exception when compiling some crossover code for Clojure and ClojureScript:
Caused by: java.lang.Exception: Nothing specified to load Reloading Clojure file "/[path]/[file].cljc" failed. clojure.lang.Compiler$CompilerException: java.lang.Exception: Nothing specified to load, compiling:([other path]/[other file].cljc:1:1)
There was no further information in the error message, and I didn’t find out anything useful by googling. During my trial and error (with previous versions of the code), I found out that the problem was in:
(ns reframe.serverside (:require #?(:cljs [re-frame.core :refer [dispatch-sync]])))
When compiling this code to ClojureScript, everything works find, because the “require” conatins an entry: “re-frame.core”. But when this file is compiled to Clojure, the “require” is empty, and the compiler does not seem to like this. Here is the fixed code:
(ns reframe.serverside #?(:cljs (:require [re-frame.core :refer [dispatch-sync]])))
I just remove the whole “:require” when compiling to Clojure. (Anyway, a better error message would have been really useful here…)
Are you interested in managing IT and software projects or teams? Are you in Europe in Autumn 2016? We are preparing a great conference for you: Advance IT Conference